home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1984-12-22 | 1.4 KB | 50 lines |
- 10 '
- 20 ' RBBS USERS SORT
- 30 ' INITIAL CODING 12/09/84 TONY SHIMPS
- 40 '
- 50 KEY OFF:CLS:LOCATE 1,32:PRINT"RBBS USERS SORT":LOCATE 3,1
- 60 LC%=0:PG%=0:INPUT"USERS file is on drive: ";DRV$
- 70 DIM NAM$(999),REC%(999),SW%(20,2)
- 80 OPEN "R",#1,DRV$+":USERS",128
- 90 FIELD #1,31 AS N$,15 AS PW$,2 AS SL$,14 AS OP$,24 AS CS$,19 AS MA$,14 AS TD$,3 AS LND$,2 AS UDL$,2 AS UUL$,2 AS ET$
- 100 LAST%=LOF(1)/128:LOCATE 10,1:PRINT"Reading file..."
- 110 FOR I%=1 TO LAST%:GET #1,I%:O%=INSTR(N$," ")
- 120 IF (LEFT$(N$,1)<"A") OR (LEFT$(N$,1)>"Z") THEN LAST%=I%-1:GOTO 150
- 130 NAM$(I%)=RIGHT$(N$,(31-O%)):REC%(I%)=I%:NEXT I%
- 140 '
- 150 P%=1:SW%(P%,1)=1:SW%(P%,2)=LAST%
- 160 LOCATE 20,1:PRINT"Sorting ..";
- 170 IF P%<0 THEN 370
- 180 I1%=SW%(P%,1):J1%=SW%(P%,2)
- 190 P%=P%-1
- 200 GOSUB 210:GOTO 170
- 210 PRINT".";
- 220 IF J1%<=I1% THEN 360
- 230 I%=I1%:J%=J1%
- 240 SAMP%=-1
- 250 IF I%>=J% THEN 330
- 260 IF NAM$(I%)<=NAM$(J%) THEN 290
- 270 SWAP NAM$(I%),NAM$(J%):SWAP REC%(I%),REC%(J%)
- 280 SAMP%=-SAMP%
- 290 IF SAMP%<0 THEN 310
- 300 J%=J%-1:GOTO 320
- 310 I%=I%+1
- 320 GOTO 250
- 330 IF (I%+1)>=J1% THEN 350
- 340 P%=P%+1:SW%(P%,1)=I%+1:SW%(P%,2)=J1%
- 350 J1%=I%-1:GOTO 220
- 360 RETURN
- 370 ' END OF SORT
- 380 LOCATE 24,1:PRINT"Printing ...";
- 390 FOR I%=1 TO LAST%:GET #1,REC%(I%)
- 400 IF LC%=0 THEN GOSUB 450
- 410 LPRINT REC%(I%);TAB(7)N$;TAB(40)PW$;TAB(58)CVI(SL$)
- 420 LC%=LC%+1:IF LC%=56 THEN LC%=0
- 430 NEXT I%:CLOSE:CLS:BEEP:END
- 440 '
- 450 LPRINT CHR$(12):PG%=PG%+1
- 460 LPRINT DATE$;TAB(32)"RBBS USERS FILE";TAB(60)TIME$;TAB(72)"PAGE ";PG%
- 470 LPRINT:LPRINT
- 480 LPRINT"NO#";TAB(21)"NAME";TAB(43)"PASSWORD";TAB(59)"SEC."
- 490 LPRINT:RETURN
-